// utils/bridge.js

const isAndroid = () => typeof window !== 'undefined' && !!window.AndroidInterface

const bridge = {
    /**
     * 获取 Token
     */
    getDeviceId() {
        if (isAndroid()) {
            return window.AndroidInterface.getDeviceId?.() || ''
        }
        return ''
    },

    /**
     * 获取 BaseURL
     */
    getBaseUrl() {
        if (isAndroid()) {
            return window.AndroidInterface.getBaseUrl?.() || ''
        }
        return ''
    },
    getVersion() {
        if (isAndroid()) {
            return window.AndroidInterface.getVersion?.() || ''
        }
        return ''
    },
    getCacheModel() {
        if (isAndroid()) {
            let newVar = window.AndroidInterface.getCacheModel?.() || '';
            return JSON.parse(newVar)
        }
        return ''
    },
    getCurrencyDefault() {
        const cache = this.getCacheModel();
        return cache?.storeModel?.currencyDefault ?? '';
    },
    getLanguage() {
        if (isAndroid()) {
            return window.AndroidInterface.getLanguage?.() || ''
        }
        return ''
    },

    getTimezone() {
        if (isAndroid()) {
            return window.AndroidInterface.getTimezone?.() || ''
        }
        return ''
    },

    formatTotalPriceFh(price) {
        if (isAndroid()) {
            return window.AndroidInterface.formatTotalPriceFh?.(price) || ''
        }
        return ''
    },

    clickListener(Json, type) {
        if (isAndroid()) {
            window.AndroidInterface.clickListener?.(Json, type);
        }
    },

    /**
     * 原生回调注入（例如：拍照完成后回调）
     * @param {string} name 回调函数名（Android 调用 JS）
     * @param {Function} handler 处理函数
     */
    registerCallback(name, handler) {
        if (typeof window !== 'undefined') {
            window[name] = handler
        }
    }
}

export default bridge
